﻿#define _CRT_SECURE_NO_WARNINGS 1
//题目有效的括号
//给定一个只包括 '('，')'，'{'，'}'，'['，']' 的字符串 s ，判断字符串是否有效。
//有效字符串需满足：
//左括号必须用相同类型的右括号闭合。
//左括号必须以正确的顺序闭合。
//每个右括号都有一个对应的相同类型的左括号。
//示例 1：
//输入：s = "()"
//输出：true
//示例 2：
//输入：s = "()[]{}"
//输出：true
//示例 3：
//输入：s = "(]"
//输出：false
//提示：
//1 <= s.length <= 104
//s 仅由括号 '()[]{}' 组成
//bool isValid(char* s) {
//    char stk[10010] = { 0 }; int tt = 0;
//    while (*s)
//    {
//        if (*s == '(' || *s == '[' || *s == '{')
//        {
//            stk[++tt] = *s;
//        }
//        else
//        {
//            //遇到右括号了，但是栈里面是空的，无法匹配成功，返沪false
//            if (tt == 0)
//            {
//                return false;
//            }
//            //匹配不成功也返回false
//            if (*s == '}' && stk[tt] != '{' || *s == ')' && stk[tt] != '(' || *s == ']' && stk[tt] != '[')
//            {
//                return false;
//            }
//            else
//            {
//                tt--;
//            }
//        }
//        s++;
//    }
//    //如果栈还没有空，说明没有匹配完全括号，也返回false，如果空了就匹配成功，返回true
//    if (tt != 0)
//        return false;
//    return true;
//}

//#include"queue2.7.h"
//void QueueTest()
//{
//	Queue q;
//	QueueInit(&q);
//	QueuePush(&q, 1);
//	QueuePush(&q, 2);
//	QueuePush(&q, 3);
//	QueuePush(&q, 4);
//	QueuePop(&q);
//	QueuePop(&q);
//	QueuePop(&q);
//	QueuePop(&q);
//	QueueDestroy(&q);
//}
//int main()
//{
//	QueueTest();
//	return 0;
//}